// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

// 云函数入口函数
// 注意：实际使用时，需要小程序前端通过 wx.requestSubscribeMessage 获取用户授权
// 并将返回的模板ID（templateId）和接收者openid传来
exports.main = async (event, context) => {
  const { openid, templateId, data } = event;

  try {
    const result = await cloud.openapi.subscribeMessage.send({
      touser: openid,         // 接收者（用户）的 openid
      page: 'pages/index/index', // 点击模板卡片后的跳转页面
      lang: 'zh_CN',
      data: data,                 // 推送的数据，格式应与模板匹配
      templateId: templateId,   // 订阅消息模板ID
      miniprogramState: 'developer' // 跳转小程序类型：developer为开发版；trial为体验版；formal为正式版
    });
    
    return result;

  } catch (err) {
    console.error('推送失败', err);
    return err;
  }
}